void main() {
  // 变量var
  var num1 = 10;
  print(num1);
  // 不确定类型
  dynamic num2 = 10;
  print(num2);
  num2 = '10';

  // 默认值
  var num3;
  print(num3); // null

  // 类型推导
  var num4 = 10;
  print(num4.runtimeType); //  int

  // 变量名称大小写敏感
  var Num4 = 20;
  print(Num4);


  // 常量const和final的区别
  // const是编译时常量，final是运行时常量
  // const只能修饰基本类型，final可以修饰任何类型
  // const只能修饰静态成员，final可以修饰任何成员
  // 常量final
  final num5 = 10;
  print(num5);

  // 常量const
  const num6 = 10;
  print(num6);

  // 确定类型声明变量
  const int num7 = 10;
  print(num7);

  String str1 = 'hello'; 
  str1 = 'world';
  print(str1);

}
